# -*- coding: utf-8 -*-
from nanomsg import Socket, PAIR
import rlisYumiPy
import time

yumi = rlisYumiPy.rlisYumi
Info = rlisYumiPy.Info 
cartesianPos = rlisYumiPy.cartesianPos

#检查服务器
def checkServer(s1):
    ping = yumi.ping()
    s1.send(ping)
    revMsg = str(s1.recv())
    info,msg = yumi.parseMsg(revMsg)
    if info == Info.PING_OK :
        print(msg)

    s1.send(yumi.checkServerTcps())
    revMsg = str(s1.recv())
    info,msg = yumi.parseMsg(revMsg)
    if info == Info.TCP_OK :
        print(msg) 
    if info == Info.TCP_ERR :
        print(msg)
        #quit()

    running = True
    count = 0

    while running :
        s1.send(yumi.checkServerRunning())
        revMsg = str(s1.recv())
        info,msg = yumi.parseMsg(revMsg)
        if info == Info.SERVER_NOT_RUNNING:
            print(msg)
            running =False

        if info == Info.SERVER_IS_RUNNING :
            print(msg+str(count))
            if(count>=20):
                print("退出")
                quit()
            count = count + 1
            time.sleep(1)

#连接服务器
s1 = Socket(PAIR)
s1.connect('tcp://127.0.0.1:9000')

checkServer(s1)#检查服务器



#pos = cartesianPos(100,0,0,0,0,0)
pos = cartesianPos(400,-400,400,120,0,180)   # 笛卡尔坐标系下位置
# pos = cartesianPos(-100,0,0,0,0,0)   # 笛卡尔坐标系下位置

# msg = yumi.LOffsetT(pos,yumi.emptyPath())# 设置指令, 不使用示教文件
# msg = yumi.LHandRoate()
# s1.send(msg)  #发送
# revMsg = str(s1.recv())#接受
# print(revMsg)
# info,msg = yumi.parseMsg(revMsg)#处理接受信息
# print(msg)
#
# exit()
#msg = yumi.RPosIsReachable(pos)
#msg = yumi.LOffsetW(pos,"1")# 设置指令, 使用第2个示教文件
# msg = yumi.RHandMove(10)
# msg = yumi.RHandClose()
# msg = yumi.RHandRoate()
# msg = yumi.getRerunFileNames()
msg = yumi.RPosIsReachable(pos)

#msg = yumi.RContactL(pos,"null")
s1.send(msg)  #发送
revMsg = str(s1.recv())#接受
print(revMsg)
info,msg = yumi.parseMsg(revMsg)#处理接受信息
print(msg)
# print(info == Info.L_POS_RECHABLE)

quit()